package com.witmore.neutron.ai.web.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 标识不需要登录的接口
 * 
 * <p>使用此注解标记的方法或类将跳过登录验证</p>
 * 
 * <p>使用示例：</p>
 * <pre>
 * &#64;NoLoginRequired
 * &#64;GetMapping("/public/info")
 * public ResponseResult&lt;String&gt; getPublicInfo() {
 *     return ResponseResult.success("公开信息");
 * }
 * </pre>
 * 
 * @author 豆子高
 * @date 2025-09-17
 */
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface NoLoginRequired {
    
    /**
     * 备注说明，用于描述为什么该接口不需要登录
     * 
     * @return 备注信息
     */
    String value() default "";
}